PowerTools MultiRow for Windows Forms 8.0J
Sort(SortItem[]) メソッド
使用例 

SortItemの配列。
GcMultiRowコントロールの内容をSortItemに従って並べ替えます。
構文
Public Overloads Sub Sort( _
   ByVal sortItems() As SortItem _
) 
public void Sort( 
   SortItem[] sortItems
)

パラメータ

sortItems
SortItemの配列。
例外
例外解説
System.ArgumentNullExceptionsortItemsがnull 参照 (Visual Basicでは Nothing)です。
System.ArgumentExceptionsortItems配列に項目が含まれていません。
System.InvalidOperationException

このメソッドは、Templateがnull 参照 (Visual Basicでは Nothing)の場合には使用できません。

または

VirtualModetrueで、なおかつDataSourceがnull 参照 (Visual Basicでは Nothing)です。

解説

このメソッドは、複数のSortItemを使用することで、複数の列を同時に並べ替えます。

このメソッドを使用すると、GcMultiRowクラスの並べ替え機能を高度にカスタマイズできます。高度にカスタマイズされた並べ替え操作を実装するために、ColumnHeaderCellCellMouseClickイベントのイベントハンドラを記述し、System.Collections.IComparerインタフェースを実装するクラスのインスタンスをSortItemのメンバとして指定してこのメソッドを呼び出すことができます。この場合は通常、SortModeプロパティをSortMode.Programmaticに設定して、並べ替えが自動的に行われないようにし、並べ替えグリフを表示するスペースを設けます。Programmatic並べ替えモードに設定されたセルで並べ替えるときは、SortGlyphDirectionプロパティを設定して、並べ替えグリフを自分で表示する必要があります。

AllowUserToAddRowsプロパティの値がtrueの場合は、最後の行が常に最後の行になります。この場合、並べ替え演算子は最後の行(コミットされていない新しい行)には作用しません。

使用例
次のサンプルコードは、GcMultiRowコントロールの複数のセルをコードによって並べ替える方法を示します。このサンプルを実行するには、フォームにGcMultiRowコントロールを作成し、テンプレートを設定します。このテンプレートには、2つ以上のセルを含む行が必要です。このメソッドは、ボタンクリックイベントハンドラやフォームの読み込み時などに呼び出すことができます。
void SortByCodeMultiCells()
{
    SortItem sortItem1 = new SortItem(0, SortOrder.Ascending);
    SortItem sortItem2 = new SortItem(1, SortOrder.Descending);

    SortItem[] sortItems = new SortItem[] { sortItem1, sortItem2 };

    // In one sort operator, sort two cells in all rows by using SortItem.
    this.gcMultiRow1.Sort(sortItems);
}
Private Sub SortByCodeMultiCells()
    Dim sortItem1 As New SortItem(0, SortOrder.Ascending)
    Dim sortItem2 As New SortItem(1, SortOrder.Descending)

    Dim sortItems As SortItem() = New SortItem() {sortItem1, sortItem2}

    ' In one sort operator, sort two cells in all rows by using SortItem.
    Me.gcMultiRow1.Sort(sortItems)
End Sub
参照

GcMultiRow クラス
GcMultiRow メンバ
オーバーロード一覧
SortItem クラス

 

 


© 2008-2015 GrapeCity inc. All rights reserved.